/*
 * @Author: 0x9DEFA478
 * @Date: 2025-07-07 20:19:02
 * @LastEditTime: 2025-08-04 23:49:31
 * @LastEditors: 0x9DEFA478
 * @Description: 
 * 
 */
#ifndef hHMakePath_HPP_
#define hHMakePath_HPP_
#include <stdint.h>
#include <list>
#include <utility>
#include <string>
#include "Utility/H_Path.hpp"


namespace HMake{

  struct PathItem{
    H::Path path;
    bool IsDirectory;
  };

  void EnumFileDirectory(std::list<PathItem>& dst,const H::Path& BaseDirectory);
  void EnumFileDirectoryRecursive(std::list<PathItem>& dst,const H::Path& BaseDirectory);
  std::pair<bool,uint64_t> FileGetLastUpdateTime(const std::string& Path);
  std::pair<int,std::string> FileUpdateEmpty(const std::string& Path);
  std::pair<int,std::string> DirectoryCreate(const std::string& Path);

}


#endif //hHMakePath_HPP_
